home *** CD-ROM | disk | FTP | other *** search
/ Fritz: All Fritz / All Fritz.zip / All Fritz / FILES / PROGMISC / PCSSP.LZH / PC-SSP.ZIP / STATFCTR.ZIP / LOAD.FOR next >
Text File  |  1985-11-29  |  3KB  |  75 lines

  1. C
  2. C     ..................................................................
  3. C
  4. C        SUBROUTINE LOAD
  5. C
  6. C        PURPOSE
  7. C           COMPUTE A FACTOR MATRIX (LOADING) FROM EIGENVALUES AND
  8. C           ASSOCIATED EIGENVECTORS.  THIS SUBROUTINE NORMALLY OCCURS
  9. C           IN A SEQUENCE OF CALLS TO SUBROUTINES CORRE, EIGEN, TRACE,
  10. C           LOAD, AND VARMX IN THE PERFORMANCE OF A FACTOR ANALYSIS.
  11. C
  12. C        USAGE
  13. C           CALL LOAD (M,K,R,V)
  14. C
  15. C        DESCRIPTION OF PARAMETERS
  16. C           M     - NUMBER OF VARIABLES.
  17. C           K     - NUMBER OF FACTORS. K MUST BE GREATER THAN OR EQUAL
  18. C                   TO 1 AND LESS THAN OR EQUAL TO M.
  19. C           R     - A MATRIX (SYMMETRIC AND STORED IN COMPRESSED FORM
  20. C                   WITH ONLY UPPER TRIANGLE BY COLUMN IN CORE) CON-
  21. C                   TAINING EIGENVALUES IN DIAGONAL.  EIGENVALUES ARE
  22. C                   ARRANGED IN DESCENDING ORDER, AND FIRST K
  23. C                   EIGENVALUES ARE USED BY THIS SUBROUTINE.  THE ORDER
  24. C                   OF MATRIX R IS M BY M.  ONLY M*(M+1)/2 ELEMENTS ARE
  25. C                   IN STORAGE.  (STORAGE MODE OF 1)
  26. C           V     - WHEN THIS SUBROUTINE IS CALLED, MATRIX V (M X M)
  27. C                   CONTAINS EIGENVECTORS COLUMNWISE.  UPON RETURNING TO
  28. C                   THE CALLING PROGRAM, MATRIX V CONTAINS A FACTOR
  29. C                   MATRIX (M X K).
  30. C
  31. C        REMARKS
  32. C           NONE
  33. C
  34. C        SUBROUTINES AND FUNCTION SUBPROGRAMS REQUIRED
  35. C           NONE
  36. C
  37. C        METHOD
  38. C           NORMALIZED EIGENVECTORS ARE CONVERTED TO THE FACTOR PATTERN
  39. C           BY MULTIPLYING THE ELEMENTS OF EACH VECTOR BY THE SQUARE
  40. C           ROOT OF THE CORRESPONDING EIGENVALUE.
  41. C
  42. C     ..................................................................
  43. C
  44.       SUBROUTINE LOAD (M,K,R,V)
  45.       DIMENSION R(1),V(1)
  46. C
  47. C        ...............................................................
  48. C
  49. C        IF A DOUBLE PRECISION VERSION OF THIS ROUTINE IS DESIRED, THE
  50. C        C IN COLUMN 1 SHOULD BE REMOVED FROM THE DOUBLE PRECISION
  51. C        STATEMENT WHICH FOLLOWS.
  52. C
  53. C     DOUBLE PRECISION R,V,SQ
  54. C
  55. C        THE C MUST ALSO BE REMOVED FROM DOUBLE PRECISION STATEMENTS
  56. C        APPEARING IN OTHER ROUTINES USED IN CONJUNCTION WITH THIS
  57. C        ROUTINE.
  58. C
  59. C        THE DOUBLE PRECISION VERSION OF THIS SUBROUTINE MUST ALSO
  60. C        CONTAIN DOUBLE PRECISION FORTRAN FUNCTIONS.  SQRT IN STATEMENT
  61. C        150 MUST BE CHANGED TO DSQRT.
  62. C
  63. C        ...............................................................
  64. C
  65.       L=0
  66.       JJ=0
  67.       DO 160 J=1,K
  68.       JJ=JJ+J
  69.   150 SQ= SQRT(R(JJ))
  70.       DO 160 I=1,M
  71.       L=L+1
  72.   160 V(L)=SQ*V(L)
  73.       RETURN
  74.       END
  75.